export type AnyObject = Record<string, any>;
export interface Pagination {
  page: number;
  size: number;
  total: number;
}
export type Option = { key?: any; label: string; value: any };
export type Options = Option[];

export interface Size {
  width?: number;
  height?: number;
}

export interface SvgComponentProps extends Size {
  fillcolor?: string;
  className?: string;
  onClick?: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
}

export interface GetListDataResponse<T extends AnyObject> {
  page: number;
  size: number;
  total: number;
  list: T[];
}
export type GetListDataRequest<T extends AnyObject> = (
  page: number,
  size: number,
  params?: AnyObject,
) => Promise<GetListDataResponse<T>>;
